package cn.tf.tfpay.fap.server;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * NFS文件信息封装 .
 * 
 * @author cgnb_liuxb
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
public class RemoteFile {
	/** 文件类型定义 */
	public static interface FileType{
		String FILE="FILE";
		String DIRECTORY="DIR";
	}
	
	public RemoteFile(String path) {
		if (path == null) {
			throw new NullPointerException("path is null!");
		}
		setPath(path);
	}
	
	public void setPath(String path) {
		this.path=path;
		this.base64Path=FapUtils.encodePath(path);
 	}
	
	/** 文件名 */
	private String name;
	/** 全文件路径 */
	private String path;
	/** 全文件路径,经base64URL编码 */
	private String base64Path;
	/** 文件大小,目录为0 */
	private long length;
	/** 文件类型 FILE-文件, DIR-目录,null-未知 */
	private String type;
	private boolean readable;
	private boolean writeable;
	
}
